/***********************************
 *           3/24/2014             *
 *       by Meow dev (arm genesis) *
 *                                 *
 ***********************************/
package com.meow.dev.engine;

import java.util.List;

import com.meow.dev.constante.EnrollmentConstance.PassWordType;
import com.meow.dev.constante.EnrollmentConstance.UserType;
import com.sun.jna.NativeLong;

public interface IFPEngine {
	/***********************************
	 *      3/24/2014 (read log)     *
	 ***********************************/
	abstract public boolean clearUserLog();
	abstract public List<UserLog> getLogUser();
	
	/***********************************
	 *      3/24/2014 (User Mgr)     *
	 ***********************************/
	abstract public List<UserData>  getAllUserID();// --no data
	abstract public List<UserData> getALLEnroll_UserData(); //use this
	abstract public UserDataEncode getEnrollEncode(long EnrollNumber, long BackupNumber); //-- for sys
	abstract public void addUser(long userId, UserType type, PassWordType passWordType, UserDataEncode dataEncode) ;//use this
	abstract public boolean removeUser(long userId, PassWordType type);//use this

	/***********************************
	 *      3/24/2014 (device Mgr)     *
	 ***********************************/
	abstract public long connect(String ipAddr,long port,long machineNo);
	abstract public FKAttendDLLMapping getAttendDLLMapping();
	abstract public boolean resetDevice();
	abstract public NativeLong getConnectionResult();
	abstract public long serverStaus();
	abstract public long reConnect();
	
}
